#ifndef LIBRARY_RESOURCEFILE_FORMAT_H
#define LIBRARY_RESOURCEFILE_FORMAT_H

#include "rfile.h"
using namespace Library;

namespace Library
{

/**
 * A structure which defines resource file formats.
 */
struct PLIBEXP ResourceFile::Format
{
	// Valid formats...
	public:
		static Format RESOURCE1;
		static Format RESOURCE2;
		static Format RESOURCE3;
		static Format LATEST;

	// ...and their method(s).
	public:
		bool8	operator==(Format & rhs) const;

		String	asString() const;
		bool8	isValid() const;


	//---------------------------------------------------------------------
	// Note: This following member variables are private.  They have been
	//       declared public due to the fact that we initialize the above
	//       structures at declaration time (forcing us to use public).
	//       The only class which should access these directly is
	//       ResourceFileWriter.
	//
	public:
		uint8	m_dif_entry;
		uint8	m_dif_index;
		uint8	m_dif_header;
		bool8	m_compression;
};

}; // namespace Library

#endif
